package singletonpattern;

/**
 * @ClassName Singleton
 * @Description : 单例模式
 * @Author : R
 * @Date : 2020/3/5 10:20
*/
public class Singleton {

    private static Singleton singleton = new Singleton();

    private static int num=0;

    /**
     * 构造方法私有化
     */
    private Singleton(){
        num++;
        System.out.println(num+"个hollow");
    }
    /**
     * 双重否定 的单例模式
     * 获得一个singleton
     * @return
     */
    public static Singleton getSingleton() {
        if (singleton==null){
//            synchronized (Singleton.class){
//                if (singleton==null){
                    singleton = new Singleton();
//                }
//            }
        }
        return singleton;
    }

}
